home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-11-27 | 49.9 KB | 1,844 lines |
- Newsgroups: news.software.b
- Subject: C News patch CR.B
-
- This is the first part of a two-part patch, CR.C being the second, for
- the C News Cleanup Release. The distribution files on ftp.cs.toronto.edu
- and zoo.toronto.edu have been updated to match. See the README.changes
- diff below for what's been done.
-
- start of patch CR.B
- (suggested archive name: patchCR.B)
- apply with patch -p0 <thisfile
-
- Prereq: CR.A.
- *** README.mastercopy Sun Nov 27 20:04:56 1994
- --- README Sun Nov 27 19:29:28 1994
- ***************
- *** 1,4 ****
- ! This is the Cleanup Release of C News, with patch CR.A. Oct 1994
-
- The current C News distribution can be retrieved by anonymous FTP from
- ftp.cs.toronto.edu (file pub/c-news/c-news.tar.Z) or ftp.zoo.toronto.edu
- --- 1,4 ----
- ! Cleanup Release of C News, with patch CR.B (which needs .C). Nov 1994
-
- The current C News distribution can be retrieved by anonymous FTP from
- ftp.cs.toronto.edu (file pub/c-news/c-news.tar.Z) or ftp.zoo.toronto.edu
- ***************
- *** 6,18 ****
- hours (0800-1800 Eastern time, zone -0500). Major archive sites such as
- ftp.uu.net and ftp.funet.fi also usually have the latest distribution.
-
- ! See README.changes for what's new and wonderful.
- ! See README.install for installation instructions.
-
- ! Warning: the documentation stinks, worse than usual. :-) README.install
- ! and the stuff in notebook/ are current. The stuff in man/ is thought to be
- ! correct but may be incomplete in small ways. The stuff in doc/ is mostly
- ! out of date and should not be trusted too far.
-
- We are grateful for financial support of C News development by the
- following, none of whom are to blame for the final result (some more
- --- 6,15 ----
- hours (0800-1800 Eastern time, zone -0500). Major archive sites such as
- ftp.uu.net and ftp.funet.fi also usually have the latest distribution.
-
- ! See README.changes for what's new and wonderful, README.install for
- ! installation instructions, README.etc for general notes.
-
- ! Warning: the documentation in doc/ is somewhat out of date.
-
- We are grateful for financial support of C News development by the
- following, none of whom are to blame for the final result (some more
-
-
-
- *** README.changes.mastercopy Sun Nov 27 20:04:56 1994
- --- README.changes Sun Nov 27 19:50:50 1994
- ***************
- *** 1,3 ****
- --- 1,21 ----
- + High points of patch CR.B:
- + This is the first part of a two-part patch, the second being CR.C. Install
- + both parts, this one first. In this part... The viauux -g option now accepts
- + multi-character grade names. The batcher now works even if off_t is longer
- + than long. Just plain "make" now balks if you haven't run quiz, or if you
- + need to re-run it. Expire now grumbles if a line in explist applies to no
- + newsgroups. Upact has been made more robust, does a much more rigorous
- + check of the new active file before installing it (using the new checkactive
- + program in CR.C), and has a more rigorous regression test. Complaints from
- + the exploder (e.g. about batch files it cannot create) are now reported
- + properly. Permissions on gunzip have been fixed. Numeric filenames in
- + in.coming are now absolute dates, not relative to an undocumented origin
- + (this is possible since CR.A's changes to filenames avoid a 14-character
- + problem). The makefile now spots whether you've incompletely installed a
- + multi-part patch (like this one) and removes files obsoleted by patches
- + (something "patch" itself cannot be convinced to do). And the usual bits
- + of cleanup, portability, and minor bug fixes.
- +
- High points of patch CR.A:
- Quiz now pays attention to the compiler-name and config-file-location
- question answers. The PATH bug in control-message handling has been fixed.
-
-
-
- *** README.etc.mastercopy Sun Nov 27 20:04:57 1994
- --- README.etc Sun Nov 27 18:16:47 1994
- ***************
- *** 0 ****
- --- 1,31 ----
- + This is C News.
- +
- + C News is an implementation of the storage and forwarding subsystems of a
- + news system. We include a simple reader as a bonus, but more complex ones
- + will usually be wanted.
- +
- + You may wish to read doc/problems, which discusses common difficulties,
- + and doc/trouble, which is the beginnings of a troubleshooting guide.
- +
- + Discussion of C News issues usually takes place in the Usenet newsgroup
- + news.software.b (the name is historical). There is no C News mailing list.
- +
- + If you've found a problem, we definitely do want to hear about it. But,
- + we *do not* want to see 2000 lines of diff listing! What we want to see
- + is a concise human-readable description of what the problem is and how,
- + if at all, you solved it. If we want the diff listing, we will ask.
- + Similarly, we are interested in hearing about changes and improvements,
- + but want to see terse descriptions first.
- +
- + To send comments, complaints, problem reports, etc., do *not* mail to
- + Geoff or Henry personally, but to:
- +
- + c-news@zoo.toronto.edu
- + aka c-news@zoo.utoronto.ca
- + aka utzoo!c-news
- +
- + (Note that this has changed, c-news used to be on utstat.)
- +
- +
- + Geoff Collyer
- + Henry Spencer
-
-
-
- *** README.install.mastercopy Sun Nov 27 20:04:57 1994
- --- README.install Wed Nov 2 00:12:11 1994
- ***************
- *** 13,19 ****
- charges onward -- it knows what it's doing. Note: getting the
- command search path set up properly for compiling is up to you --
- the search path which quiz asks about is used only for *running*
- ! them.
-
- 3. (optional but recommended) "make r". This will run regression tests.
- They take a while. Errors that don't cause make to stop are not
- --- 13,21 ----
- charges onward -- it knows what it's doing. Note: getting the
- command search path set up properly for compiling is up to you --
- the search path which quiz asks about is used only for *running*
- ! the software. Also, you need to get the umask set up so that the
- ! compiled binaries will have the right permissions -- again, the
- ! umask quiz asks about is used only for *running* the software.
-
- 3. (optional but recommended) "make r". This will run regression tests.
- They take a while. Errors that don't cause make to stop are not
- ***************
- *** 59,65 ****
- addresses. Also, unless your site is engaged in network mapping,
- you should arrange for mail to "newsmap" to be discarded (not
- returned, not forwarded, just discarded) to minimize the effects
- ! of "sendsys bombing" by practical jokers.
-
- 13. Put conf/crontab, or something like it, in as the news-database
- owner's crontab.
- --- 61,70 ----
- addresses. Also, unless your site is engaged in network mapping,
- you should arrange for mail to "newsmap" to be discarded (not
- returned, not forwarded, just discarded) to minimize the effects
- ! of "sendsys bombing" by practical jokers. We suggest you also
- ! arrange that mail to "news", "usenet", "newsmaster", and the
- ! news-database owner gets sent somewhere where it will be looked
- ! at regularly.
-
- 13. Put conf/crontab, or something like it, in as the news-database
- owner's crontab.
- ***************
- *** 80,87 ****
-
- 18. The next time newsrun runs -- see the crontab -- the article should
- appear in the newsgroup, the history file, the log file, and
- ! NOT in the errlog file. Run readnews and try to read it. If
- ! you can, then it looks like you did most everything right.
-
- 19. Get a feed from somebody, somehow, and see if batches from them are
- arriving in NEWSARTS/in.coming properly and being processed okay.
- --- 85,92 ----
-
- 18. The next time newsrun runs -- see the crontab -- the article should
- appear in the newsgroup, the history file, the log file, and
- ! NOT in the errlog file. Run readnews (or some other reader) and
- ! try to read it. If you can, then you did most everything right.
-
- 19. Get a feed from somebody, somehow, and see if batches from them are
- arriving in NEWSARTS/in.coming properly and being processed okay.
-
-
-
- *** quiz.mastercopy Sun Nov 27 20:04:58 1994
- --- quiz Sun Nov 27 18:09:54 1994
- ***************
- *** 395,401 ****
- echo ' svr4 System V Release 4 uucp'
- echo ' hdb pre-SVR4 Honey DanBer, aka Basic Networking Utilities'
- echo ' sub old uucp with subdirectories (e.g. /usr/spool/uucp/C.)'
- ! echo ' old very old uucp, no subdirectories'
- echo ' pre prehistoric uucp, no subdirectories, no -g option on uux'
- echo " null don't run uucp or don't care about queue lengths"
- while :
- --- 395,401 ----
- echo ' svr4 System V Release 4 uucp'
- echo ' hdb pre-SVR4 Honey DanBer, aka Basic Networking Utilities'
- echo ' sub old uucp with subdirectories (e.g. /usr/spool/uucp/C.)'
- ! echo ' vo very old uucp, no subdirectories'
- echo ' pre prehistoric uucp, no subdirectories, no -g option on uux'
- echo " null don't run uucp or don't care about queue lengths"
- while :
-
-
-
- *** makefile.mastercopy Sun Nov 27 20:04:58 1994
- --- makefile Sun Nov 27 19:24:40 1994
- ***************
- *** 12,27 ****
- RDIRS=$(PDIRS)
- SLOWRDIRS=libdbz
- INALL=conf/inall
-
- # System V bug fix
- SHELL=/bin/sh
-
- ! all: msub sub mx libcnews.a pgms
- : everything built successfully
-
- lib: libcnews.a
-
- ! libcnews.a: msub sub mx conf/liblist
- $(INALL) "$(MAKE)" `cat conf/liblist`
-
- freshlib:
- --- 12,28 ----
- RDIRS=$(PDIRS)
- SLOWRDIRS=libdbz
- INALL=conf/inall
- + ROPT=
-
- # System V bug fix
- SHELL=/bin/sh
-
- ! all: needquiz patchchores msub sub mx libcnews.a pgms
- : everything built successfully
-
- lib: libcnews.a
-
- ! libcnews.a: needquiz msub sub mx conf/liblist
- $(INALL) "$(MAKE)" `cat conf/liblist`
-
- freshlib:
- ***************
- *** 28,55 ****
- rm -f libcnews.a conf/liblist
- $(MAKE) lib
-
- ! pgms: msub sub mx libcnews.a
- $(INALL) "$(MAKE)" $(PDIRS)
- : programs built successfully
-
- ! install:
- $(INALL) "$(MAKE) install" $(PDIRS)
- : 'all programs installed!'
- : 'but input/newsspool needs its ownership and permissions changed'
-
- ! setup:
- $(INALL) "$(MAKE) setup" $(PDIRS)
- cd conf ; $(MAKE) versetup
-
- ! ui:
- $(INALL) "$(MAKE) ui" $(UIDIRS)
- : 'user interface installed'
-
- ! readpostcheck:
- $(INALL) "$(MAKE) readpostcheck" readnews
- : 'readnews, postnews, checknews installed'
-
- ! cmp:
- $(INALL) "$(MAKE) cmp" $(PDIRS)
- : 'no worrisome differences found'
-
- --- 29,56 ----
- rm -f libcnews.a conf/liblist
- $(MAKE) lib
-
- ! pgms: needquiz msub sub mx libcnews.a
- $(INALL) "$(MAKE)" $(PDIRS)
- : programs built successfully
-
- ! install: needquiz
- $(INALL) "$(MAKE) install" $(PDIRS)
- : 'all programs installed!'
- : 'but input/newsspool needs its ownership and permissions changed'
-
- ! setup: needquiz
- $(INALL) "$(MAKE) setup" $(PDIRS)
- cd conf ; $(MAKE) versetup
-
- ! ui: needquiz
- $(INALL) "$(MAKE) ui" $(UIDIRS)
- : 'user interface installed'
-
- ! readpostcheck: needquiz
- $(INALL) "$(MAKE) readpostcheck" readnews
- : 'readnews, postnews, checknews installed'
-
- ! cmp: needquiz
- $(INALL) "$(MAKE) cmp" $(PDIRS)
- : 'no worrisome differences found'
-
- ***************
- *** 56,61 ****
- --- 57,71 ----
- cmpok:
- $(INALL) "$(MAKE) cmp CMPOPT=-i" $(PDIRS)
-
- + # conf/makeinc and conf/substitutions depend on quiz and conf/useanswers too,
- + # but including them here would defeat the don't-touch-if-unchanged trick in
- + # conf/useanswers which avoids spurious re-runs of subst.
- + include/config.make: quiz conf/useanswers
- + : "you must run (or re-run) quiz first -- see README.install"
- + @false
- +
- + needquiz: include/config.make
- +
- msub: conf/msubsts.done
-
- conf/msubsts.done: conf/makefilelist conf/makeinc conf/subst
- ***************
- *** 81,87 ****
- echo "include libc libcnews $(DBZ) libfake libbig" >conf/liblist
-
- stdio:
- ! cd libstdio ; $(MAKE) r || ( $(MAKE) clean ; exit 1 )
- : and only if that succeeded...
- cd libstdio ; $(MAKE) rclean
- echo "libstdio" >>conf/liblist
- --- 91,97 ----
- echo "include libc libcnews $(DBZ) libfake libbig" >conf/liblist
-
- stdio:
- ! cd libstdio ; $(MAKE) r $(ROPT) || ( $(MAKE) clean ; exit 1 )
- : and only if that succeeded...
- cd libstdio ; $(MAKE) rclean
- echo "libstdio" >>conf/liblist
- ***************
- *** 102,111 ****
- : "You must run 'quiz' before running 'make'."
- exit 1 ;
-
- r:
- ! $(INALL) "$(MAKE) r && $(MAKE) rclean" $(RDIRS)
- : leave libdbz to last because its regression test is rather slow
- ! $(INALL) "$(MAKE) r && $(MAKE) rclean" $(SLOWRDIRS)
- : 'all tests successful!'
- : 'either you or newsmaster should have mail from the "report" test'
-
- --- 112,124 ----
- : "You must run 'quiz' before running 'make'."
- exit 1 ;
-
- + patchchores:
- + cd conf ; $(MAKE) patchchores
- +
- r:
- ! $(INALL) "$(MAKE) r $(ROPT) && $(MAKE) rclean" $(RDIRS)
- : leave libdbz to last because its regression test is rather slow
- ! $(INALL) "$(MAKE) r $(ROPT) && $(MAKE) rclean" $(SLOWRDIRS)
- : 'all tests successful!'
- : 'either you or newsmaster should have mail from the "report" test'
-
- ***************
- *** 129,132 ****
- --- 142,147 ----
-
- # this is strictly for development use
- .DEFAULT:
- + : if you see this, you are doing something wrong -- the following
- + : is strictly for development use
- $(MAKE) -f mfile $@
-
-
-
- *** batch/viauux.mastercopy Sun Nov 27 20:04:59 1994
- --- batch/viauux Mon Oct 24 16:59:51 1994
- ***************
- *** 8,14 ****
- for dummy
- do
- case "$1" in
- ! -g?) grade="$1" ;;
- -g) grade="-g$2" ; shift ;;
- -z) z=-z ;;
- -n) z=-n ;;
- --- 8,14 ----
- for dummy
- do
- case "$1" in
- ! -g?*) grade="$1" ;;
- -g) grade="-g$2" ; shift ;;
- -z) z=-z ;;
- -n) z=-n ;;
-
-
-
- *** batch/batcher.c.mastercopy Sun Nov 27 20:04:59 1994
- --- batch/batcher.c Mon Oct 31 15:22:46 1994
- ***************
- *** 122,128 ****
- if (fstat(artfile, &sbuf) < 0)
- error("internal disaster, can't fstat", "");
-
- ! printf("#! rnews %ld\n", sbuf.st_size);
- while ((count = read(artfile, buffer, sizeof buffer)) > 0) {
- if (fwrite(buffer, sizeof(char), count, stdout) != count)
- error("write failure in `%s'", article);
- --- 122,128 ----
- if (fstat(artfile, &sbuf) < 0)
- error("internal disaster, can't fstat", "");
-
- ! printf("#! rnews %ld\n", (long)sbuf.st_size);
- while ((count = read(artfile, buffer, sizeof buffer)) > 0) {
- if (fwrite(buffer, sizeof(char), count, stdout) != count)
- error("write failure in `%s'", article);
-
-
-
- *** conf/subst.all.mastercopy Sun Nov 27 20:05:00 1994
- --- conf/subst.all Sun Nov 27 18:26:46 1994
- ***************
- *** 43,48 ****
- --- 43,49 ----
- maint/addgroup
- maint/addmissing
- maint/badexpiry
- + maint/checkactive
- maint/cnewsdo
- maint/delgroup
- maint/histfrom
- ***************
- *** 57,62 ****
- --- 58,65 ----
- maint/newshist
- maint/newswatch
- maint/sysck
- + man/badexpiry.8cn
- + man/checkactive.8
- man/checknews.1cn
- man/cnewsdo.8cn
- man/controlperm.5
- ***************
- *** 89,97 ****
- util/mkpdir
- util/newshostname
- util/queuelen.hdb
- - util/queuelen.old
- util/queuelen.sub
- util/queuelen.svr4
- util/report
- util/sfcproto
- util/sfshproto
- --- 92,100 ----
- util/mkpdir
- util/newshostname
- util/queuelen.hdb
- util/queuelen.sub
- util/queuelen.svr4
- + util/queuelen.vo
- util/report
- util/sfcproto
- util/sfshproto
-
-
-
- *** conf/versionname.mastercopy Sun Nov 27 20:05:01 1994
- --- conf/versionname Sun Nov 27 19:29:48 1994
- ***************
- *** 1 ****
- ! Cleanup Release, with patch CR.A
- --- 1 ----
- ! Cleanup Release, with patch CR.B but not .C
-
-
-
- *** conf/active.eg.mastercopy Sun Nov 27 20:05:01 1994
- --- conf/active.eg Thu Nov 3 19:19:29 1994
- ***************
- *** 1,3 ****
- control 0000000000 00001 y
- junk 0000000000 00001 y
- ! news.announce.newusers 0000000000 00001 y
- --- 1,3 ----
- control 0000000000 00001 y
- junk 0000000000 00001 y
- ! news.announce.newusers 0000000000 00001 m
-
-
-
- *** conf/deadfiles.mastercopy Sun Nov 27 20:05:02 1994
- --- conf/deadfiles Sun Nov 27 20:04:55 1994
- ***************
- *** 0 ****
- --- 1,4 ----
- + doc/flow.old
- + expire/mkadir
- + util/queuelen.old
- + README.old
-
-
-
- *** conf/useanswers.mastercopy Sun Nov 27 20:05:03 1994
- --- conf/useanswers Wed Nov 9 19:35:22 1994
- ***************
- *** 168,185 ****
- echo "HFAKE=$fakehdrs"
- echo "OFAKE=$fake"
- ) >$tf
- ! if cmp $tf $uacm >/dev/null 2>/dev/null
- then
- ! echo "unchanged, old one left in place"
- ! else
- ! >$uacm
- ! if test ! -w $uacm
- ! then
- ! echo "$0: unable to create \`$uacm'; aborting" >&2
- ! exit 1
- ! fi
- ! cp $tf $uacm || exit 1
- fi
-
- rm -f $tf
- exit 0
- --- 168,181 ----
- echo "HFAKE=$fakehdrs"
- echo "OFAKE=$fake"
- ) >$tf
- ! # this one we always change, so makefile knows when quiz was re-run
- ! >$uacm
- ! if test ! -w $uacm
- then
- ! echo "$0: unable to create \`$uacm'; aborting" >&2
- ! exit 1
- fi
- + cp $tf $uacm || exit 1
-
- rm -f $tf
- exit 0
-
-
-
- *** conf/makefile.mastercopy Sun Nov 27 20:05:04 1994
- --- conf/makefile Sun Nov 27 19:30:31 1994
- ***************
- *** 12,17 ****
- --- 12,23 ----
- all: $(ALL)
- $(MX) report.ctl config
-
- + patchchores:
- + : if this fails, you have not installed all parts of a multi-part patch
- + test " `cat versionname | sed 's/^[^.]*\..//'`" = " " ;
- + : delete files obsoleted by patches
- + cd .. ; rm -f `cat conf/deadfiles` conf/dummy
- +
- install: $(ALL)
-
- LASTGROUP=`egrep -v = $(NEWSCTL)/active | tr . / | sed -n '$$s/ .*//p'`
-
-
-
- *** ctl/rmgroup.mastercopy Sun Nov 27 20:05:05 1994
- --- ctl/rmgroup Sat Nov 5 16:32:45 1994
- ***************
- *** 60,66 ****
- ?*) case "$action" in
- *q*) ;;
- *) (
- ! echo "$0: \`$author' tried"
- echo "to remove newsgroup \`$g'."
- echo "Request was refused:"
- echo " $reject"
- --- 60,66 ----
- ?*) case "$action" in
- *q*) ;;
- *) (
- ! echo "rmgroup: \`$author' tried"
- echo "to remove newsgroup \`$g'."
- echo "Request was refused:"
- echo " $reject"
-
-
-
- *** ctl/newgroup.mastercopy Sun Nov 27 20:05:05 1994
- --- ctl/newgroup Sat Nov 5 16:32:36 1994
- ***************
- *** 113,119 ****
- ?*) case "$action" in
- *q*) ;;
- *) (
- ! echo "$0: \`$author' tried"
- case "$oldstatus" in
- '') echo "to create newsgroup \`$g'." ;;
- *) echo "to set newsgroup \`$g' to \`$f'." ;;
- --- 113,119 ----
- ?*) case "$action" in
- *q*) ;;
- *) (
- ! echo "newgroup: \`$author' tried"
- case "$oldstatus" in
- '') echo "to create newsgroup \`$g'." ;;
- *) echo "to set newsgroup \`$g' to \`$f'." ;;
- ***************
- *** 158,165 ****
- cat $tmp >>$NEWSCTL/newsgroups
- ;;
- *) # status change
- ! awk '$1 == "'"$g"'" { print $1, $2, $3, "'"$newstatus"'" }' \
- ! $NEWSCTL/active >$NEWSCTL/active.tmp
- if test `wc -l <$NEWSCTL/active.tmp` -lt `wc -l <$NEWSCTL/active`
- then
- fail="active.tmp is shorter than active, something's wrong"
- --- 158,165 ----
- cat $tmp >>$NEWSCTL/newsgroups
- ;;
- *) # status change
- ! awk '$1 == "'"$g"'" { print $1, $2, $3, "'"$newstatus"'" ; next }
- ! { print }' $NEWSCTL/active >$NEWSCTL/active.tmp
- if test `wc -l <$NEWSCTL/active.tmp` -lt `wc -l <$NEWSCTL/active`
- then
- fail="active.tmp is shorter than active, something's wrong"
-
-
-
- *** ctl/makefile.mastercopy Sun Nov 27 20:05:06 1994
- --- ctl/makefile Tue Nov 1 23:54:49 1994
- ***************
- *** 80,85 ****
- --- 80,98 ----
- test -d arts/comp/lang/beta ;
- test -r arts/comp/lang/beta/.overview ;
- rm -f reports
- + : newgroup for status change
- + sed '/^comp.lang.beta/s/y$$/m/' active >active.good
- + sed 's/ [0-9][0-9]* / 0 /' active.times >at.good
- + cp newsgroups newsgroups.ok
- + $(HERE) ./newgroup comp.lang.beta moderated <reg/n.2 >out.tmp 2>err.tmp
- + test ! -s out.tmp ;
- + test ! -s err.tmp ;
- + cmp active.good active || diff active.good active
- + sed 's/ [0-9][0-9]* / 0 /' active.times >at.tmp
- + cmp at.good at.tmp || diff at.good at.tmp
- + cmp newsgroups.ok newsgroups || diff newsgroups.ok newsgroups
- + cmp reg/n.2r reports || diff reg/n.2r reports
- + rm -f reports
- : rmgroup
- egrep -v soundcard active >active.good
- egrep -v soundcard active.times >at.good
-
-
-
- *** ctl/reg/n.2.mastercopy Sun Nov 27 20:05:06 1994
- --- ctl/reg/n.2 Tue Nov 1 23:50:35 1994
- ***************
- *** 0 ****
- --- 1,25 ----
- + Control: newgroup comp.lang.beta moderated
- + Newsgroups: comp.lang.beta
- + Path: tadpole.com!uunet!tale
- + From: tale@uunet.uu.net (David C Lawrence)
- + Subject: newgroup comp.lang.beta
- + Approved: tale@uunet.uu.net
- + Sender: tale@uunet.uu.net (David C Lawrence)
- + Date: Tue, 6 Sep 1994 14:31:58 GMT
- + Message-ID: <2CvpppA.B1M@uunet.uu.net>
- + Lines: 14
- +
- + comp.lang.beta is an unmoderated newsgroup which passed its vote for
- + creation by 354:18 as reported in news.announce.newgroups on 30 Aug 1994.
- +
- + For your newsgroups file:
- + comp.lang.beta The object-oriented programming language BETA.
- +
- + The charter, culled from the call for votes:
- +
- + comp.lang.beta will receive all the postings from comp.lang.misc and
- + comp.object concerning the BETA language and the programs and systems
- + written in or supporting BETA. Discussions concerning object-oriented
- + programming principles based on the concepts known from BETA will also
- + take place, possibly cross-posted to comp.object.
- +
-
-
-
- *** ctl/reg/n.2r.mastercopy Sun Nov 27 20:05:07 1994
- --- ctl/reg/n.2r Tue Nov 1 23:54:30 1994
- ***************
- *** 0 ****
- --- 1,32 ----
- + status change for comp.lang.beta
- + :::
- + tale@uunet.uu.net (David C Lawrence) said to
- + set `comp.lang.beta' to moderated.
- + This was done.
- + ===
- + Control: newgroup comp.lang.beta moderated
- + Newsgroups: comp.lang.beta
- + Path: tadpole.com!uunet!tale
- + From: tale@uunet.uu.net (David C Lawrence)
- + Subject: newgroup comp.lang.beta
- + Approved: tale@uunet.uu.net
- + Sender: tale@uunet.uu.net (David C Lawrence)
- + Date: Tue, 6 Sep 1994 14:31:58 GMT
- + Message-ID: <2CvpppA.B1M@uunet.uu.net>
- + Lines: 14
- +
- + comp.lang.beta is an unmoderated newsgroup which passed its vote for
- + creation by 354:18 as reported in news.announce.newgroups on 30 Aug 1994.
- +
- + For your newsgroups file:
- + comp.lang.beta The object-oriented programming language BETA.
- +
- + The charter, culled from the call for votes:
- +
- + comp.lang.beta will receive all the postings from comp.lang.misc and
- + comp.object concerning the BETA language and the programs and systems
- + written in or supporting BETA. Discussions concerning object-oriented
- + programming principles based on the concepts known from BETA will also
- + take place, possibly cross-posted to comp.object.
- +
- + ===
-
-
-
- *** ctl/controlperm.eg.mastercopy Sun Nov 27 20:05:07 1994
- --- ctl/controlperm.eg Wed Nov 2 00:09:38 1994
- ***************
- *** 1,14 ****
- # Dave Lawrence runs the main Usenet hierarchies
- ! comp,sci,misc,rec,soc,talk tale@uunet.uu.net n y
- # but his name can be forged, so don't let him rmgroup...
- ! comp,sci,misc,rec,soc,talk tale@uunet.uu.net r n
- # and nobody else gets any attention in these hierarchies
- ! comp,sci,misc,rec,soc,talk any nr nq
-
- # same for Jim McIntosh in bit
- bit jim@american.edu n y
- bit jim@american.edu r n
- bit any nr nq
-
- # it's really tempting to change this one to nq...
- alt any nr nv
- --- 1,21 ----
- # Dave Lawrence runs the main Usenet hierarchies
- ! comp,sci,misc,news,rec,soc,talk tale@uunet.uu.net n y
- # but his name can be forged, so don't let him rmgroup...
- ! comp,sci,misc,news,rec,soc,talk tale@uunet.uu.net r n
- # and nobody else gets any attention in these hierarchies
- ! comp,sci,misc,news,rec,soc,talk any nr nq
-
- # same for Jim McIntosh in bit
- bit jim@american.edu n y
- bit jim@american.edu r n
- bit any nr nq
- +
- + # ClariNet newgroups come from this address
- + clari clarinet@clarinet.com n yv
- + # You can turn this on, at the risk of accepting forged rmgroups
- + clari clarinet@clarinet.com r nv
- + # And that's all for ClariNet.
- + clari any nr nq
-
- # it's really tempting to change this one to nq...
- alt any nr nv
-
-
-
- *** expire/README.mastercopy Sun Nov 27 20:05:08 1994
- --- expire/README Wed Oct 19 00:01:24 1994
- ***************
- *** 3,9 ****
- expire.c does the real work
- expireiflow wrapper to run expire only if things are tight
- explist.eg sample expiry-control file
- - mkadir auxiliary program used to make archiving directories
- pgood part of the expire regression test
- tgood part of the expire regression test
- upact active-file updater, much improved from past incarnations
- --- 3,8 ----
-
-
-
- *** expire/expire.c.mastercopy Sun Nov 27 20:05:08 1994
- --- expire/expire.c Tue Oct 18 23:55:56 1994
- ***************
- *** 20,26 ****
- #include "libc.h"
- #include "news.h"
- #include "config.h"
- ! #include "fgetmfs.h"
- #include "case.h"
- #include "dbz.h"
- #include "ngmatch.h"
- --- 20,26 ----
- #include "libc.h"
- #include "news.h"
- #include "config.h"
- ! #include "fgetfln.h"
- #include "case.h"
- #include "dbz.h"
- #include "ngmatch.h"
- ***************
- *** 47,52 ****
- --- 47,54 ----
- time_t normal; /* earliest not expired in default case */
- time_t purge; /* latest arrival date always expired */
- char *dir; /* Archive dir or NULL. */
- + long ngroups; /* for explist, number of groups dealt with */
- + int lineno; /* line number in explist */
- };
-
- /* header for internal form of control file */
- ***************
- *** 144,149 ****
- --- 146,152 ----
- void die();
- void control();
- void prime();
- + void checkused();
- void doit();
- void cd();
- time_t readdate();
- ***************
- *** 280,296 ****
- control(f)
- register FILE *f;
- {
- - char line[200]; /* long enough for any sane line */
- register char *p;
- register int gotone = 0;
-
- ! while (fgets(line, sizeof(line), f) != NULL) {
- ! p = &line[strlen(line) - 1];
- ! if (*p != '\n')
- ! die("control line `%.30s...' too long", line);
- ! *p = '\0';
- ! if (line[0] != '#')
- ! ctlline(line);
- gotone = 1;
- }
-
- --- 283,296 ----
- control(f)
- register FILE *f;
- {
- register char *p;
- register int gotone = 0;
- + register int lineno = 0;
-
- ! while ((p = fgetline(f, (size_t *)NULL)) != NULL) {
- ! lineno++;
- ! if (*p != '#')
- ! ctlline(p, lineno);
- gotone = 1;
- }
-
- ***************
- *** 302,309 ****
- - ctlline - process one control-file line
- */
- void
- ! ctlline(ctl)
- char *ctl;
- {
- register struct ctl *ct;
- char *field[4];
- --- 302,310 ----
- - ctlline - process one control-file line
- */
- void
- ! ctlline(ctl, lineno)
- char *ctl;
- + int lineno;
- {
- register struct ctl *ct;
- char *field[4];
- ***************
- *** 379,384 ****
- --- 380,388 ----
- checkadir(ct->dir);
- }
-
- + ct->ngroups = 0;
- + ct->lineno = lineno;
- +
- /* put it where it belongs */
- if (STREQ(ct->groups, "/expired/"))
- holdover = ct;
- ***************
- *** 410,422 ****
- char *field[NFACT];
- int nf;
- register int hash;
- - register int i;
-
- af = eufopen(afile, "r");
- ! while ((line = fgetms(af)) != NULL) {
- ! i = strlen(line);
- ! if (i > 0) /* Geoff's bloody useless \n */
- ! line[i-1] = '\0';
- nf = split(line, field, NFACT, "");
- if (nf != NFACT)
- die("wrong number of fields in active for `%s'", field[0]);
- --- 414,422 ----
- char *field[NFACT];
- int nf;
- register int hash;
-
- af = eufopen(afile, "r");
- ! while ((line = fgetline(af, (size_t *)NULL)) != NULL) {
- nf = split(line, field, NFACT, "");
- if (nf != NFACT)
- die("wrong number of fields in active for `%s'", field[0]);
- ***************
- *** 431,439 ****
- hash = NHASH-1;
- ct->next = ngs[hash];
- ngs[hash] = ct;
- - free(line);
- }
- (void) fclose(af);
- }
-
- /*
- --- 431,440 ----
- hash = NHASH-1;
- ct->next = ngs[hash];
- ngs[hash] = ct;
- }
- (void) fclose(af);
- +
- + checkused();
- }
-
- /*
- ***************
- *** 453,458 ****
- --- 454,460 ----
- ct->normal = cscan->normal;
- ct->purge = cscan->purge;
- ct->dir = cscan->dir;
- + cscan->ngroups++;
- return;
- }
-
- ***************
- *** 463,468 ****
- --- 465,488 ----
- }
-
- /*
- + - checkused - check that all lines of the control file got used
- + */
- + void
- + checkused()
- + {
- + register struct ctl *cscan;
- + char grump[100];
- +
- + for (cscan = ctls; cscan != NULL; cscan = cscan->next)
- + if (cscan->ngroups == 0) {
- + sprintf(grump,
- + "warning: line %d of control file controls no active newsgroups",
- + cscan->lineno);
- + complain(grump, "");
- + }
- + }
- +
- + /*
- - doit - file manipulation and master control
- */
- void
- ***************
- *** 1053,1076 ****
- register char *p;
-
- ocmd = str3save("PATH=", ctlfile("bin"), ":");
- ! cmd = str3save(ocmd, binfile("expire"), ":");
- free(ocmd);
- ocmd = cmd;
- /* the semicolon here avoids problems with some buggy shells */
- ! cmd = str3save(ocmd, newspath(), " ; mkadir");
- free(ocmd);
- ocmd = cmd;
- ! cmd = str3save(ocmd, " ", dir);
- free(ocmd);
- ! p = strchr(art, '/');
- ! while (p != NULL) {
- ! *p = '\0';
- ! ocmd = cmd;
- ! cmd = str3save(ocmd, " ", art);
- ! free(ocmd);
- ! *p = '/';
- ! p = strchr(p+1, '/');
- ! }
- (void) system(cmd);
- free(cmd);
- }
- --- 1073,1093 ----
- register char *p;
-
- ocmd = str3save("PATH=", ctlfile("bin"), ":");
- ! cmd = str3save(ocmd, binfile((char *)NULL), ":");
- free(ocmd);
- ocmd = cmd;
- /* the semicolon here avoids problems with some buggy shells */
- ! cmd = str3save(ocmd, newspath(), " ; mkpdir ");
- free(ocmd);
- ocmd = cmd;
- ! cmd = str3save(ocmd, dir, "/");
- free(ocmd);
- ! p = strrchr(art, '/');
- ! *p = '\0';
- ! ocmd = cmd;
- ! cmd = str3save(ocmd, art, "");
- ! free(ocmd);
- ! *p = '/';
- (void) system(cmd);
- free(cmd);
- }
-
-
-
- *** expire/makefile.mastercopy Sun Nov 27 20:05:09 1994
- --- expire/makefile Sat Oct 22 23:59:20 1994
- ***************
- *** 2,10 ****
- .include "../include/config.make"
-
- BINS=expire
- ! PROGS=$(BINS) upact doexpire mkadir expireiflow
- DEST=$(NEWSBIN)/expire
- ALL=$(PROGS) explist.eg
-
- all: $(ALL)
- $(MX) $(PROGS)
- --- 2,12 ----
- .include "../include/config.make"
-
- BINS=expire
- ! PROGS=$(BINS) upact doexpire expireiflow
- DEST=$(NEWSBIN)/expire
- ALL=$(PROGS) explist.eg
- + UPACTOPT=
- + UPACTBARF=
-
- all: $(ALL)
- $(MX) $(PROGS)
- ***************
- *** 34,40 ****
- lint: expire.c
- lint $(LINTFLAGS) expire.c 2>&1
-
- ! explist.reg:
- rm -f $@
- echo "/expired/ x 0.08 -" >>$@
- echo '/bounds/ x 0.01-0.1-0.11 - ' >>$@
- --- 36,42 ----
- lint: expire.c
- lint $(LINTFLAGS) expire.c 2>&1
-
- ! explist.regw:
- rm -f $@
- echo "/expired/ x 0.08 -" >>$@
- echo '/bounds/ x 0.01-0.1-0.11 - ' >>$@
- ***************
- *** 46,63 ****
- echo 'mod u 0.05 -' >>$@
- echo 'urp x 0.01-0.05-0.1 -' >>$@
- echo "bletch x 0.1 =`pwd`/arch3/bletch" >>$@
- echo 'all x 0.1 @' >>$@
-
- ../util/dbz:
- ! ( cd ../util ; $(MAKE) dbz )
-
- # setup for regression test
- ! rsetup: $(PROGS) ../util/dbz explist.reg
- $(MX) $(PROGS) dircheck
- >history.pag
- >history.dir
- mkdir bin
- ! cp mkadir ../util/dbz bin
- echo 'exit 0' >bin/lock
- echo 'exit 0' >bin/unlock
- echo 'echo 10' >bin/spacefor
- --- 48,84 ----
- echo 'mod u 0.05 -' >>$@
- echo 'urp x 0.01-0.05-0.1 -' >>$@
- echo "bletch x 0.1 =`pwd`/arch3/bletch" >>$@
- + echo 'unused x 1 -' >>$@
- echo 'all x 0.1 @' >>$@
-
- + explist.reg: explist.regw
- + rm -f $@
- + egrep -v '^unused' explist.regw >$@
- +
- + UTILS=../util/dbz ../util/mkpdir
- +
- ../util/dbz:
- ! cd ../util ; $(MAKE) dbz
- !
- ! ../util/mkpdir:
- ! cd ../util ; $(MAKE) mkpdir
- !
- ! BARFS=active.barf active.nobarf
- ! AB=active.$(UPACTBARF)barf
- !
- ! active.barf:
- ! echo 'barf.puke 01111 01112 y' >$@
- !
- ! active.nobarf:
- ! touch $@
-
- # setup for regression test
- ! rsetup: $(PROGS) $(UTILS) explist.reg explist.regw $(BARFS)
- $(MX) $(PROGS) dircheck
- >history.pag
- >history.dir
- mkdir bin
- ! cp ../util/dbz ../util/mkpdir bin
- echo 'exit 0' >bin/lock
- echo 'exit 0' >bin/unlock
- echo 'echo 10' >bin/spacefor
- ***************
- *** 65,72 ****
- mkdir arts arts/foo arts/bar arts/bar/ugh arts/urp arch arch2
- mkdir arts/mod arts/mod/mod arts/mod/unmod arch3 arch3/bletch
- mkdir arts/bletch arts/lost+found arts/barf arts/barf/puke
- ! echo 'foo 00099 00000 y ' >>active
- ! echo 'foo 00099 00001 y' >>active.after
- echo 'bar 00099 00000 m' >>active
- echo 'bar 00099 00100 m' >>active.after
- echo 'bar.ugh 00099 00000 m' >>active
- --- 86,93 ----
- mkdir arts arts/foo arts/bar arts/bar/ugh arts/urp arch arch2
- mkdir arts/mod arts/mod/mod arts/mod/unmod arch3 arch3/bletch
- mkdir arts/bletch arts/lost+found arts/barf arts/barf/puke
- ! echo 'foo 00103 00000 y ' >>active
- ! echo 'foo 00103 00098 y' >>active.after
- echo 'bar 00099 00000 m' >>active
- echo 'bar 00099 00100 m' >>active.after
- echo 'bar.ugh 00099 00000 m' >>active
- ***************
- *** 79,94 ****
- echo 'mod.unmod 00016 00016 y' >>active.after
- echo 'bletch 00099 00000 y' >>active
- echo 'bletch 00099 00100 y' >>active.after
- ! echo 'barf.puke 01111 01112 y' >>active
- ! echo 'barf.puke 01111 01112 y' >>active.after
- echo nevermore >arts/lost+found/1
- ! echo '<wont1> 9999~- foo/1' >>history.proto
- ! echo :foo/1: >arts/foo/1
- ! echo 'MeSsAge-ID: <wont1>' >>arts/foo/1
- ! echo '<will2> 1000~- foo/2' >>history.proto
- ! echo foo/2 >arts/foo/2
- ! echo '<will3> 1000~100 foo/3' >>history.proto
- ! echo foo/3 >arts/foo/3
- echo '<two4> 100 bar/4' >>history.proto
- echo :bar/4: >arts/bar/4
- echo 'SuBjeCt: yes' >>arts/bar/4
- --- 100,115 ----
- echo 'mod.unmod 00016 00016 y' >>active.after
- echo 'bletch 00099 00000 y' >>active
- echo 'bletch 00099 00100 y' >>active.after
- ! cat $(AB) >>active
- ! cat $(AB) >>active.after
- echo nevermore >arts/lost+found/1
- ! echo '<wont1> 9999~- foo/98' >>history.proto
- ! echo :foo/98: >arts/foo/98
- ! echo 'MeSsAge-ID: <wont1>' >>arts/foo/98
- ! echo '<will2> 1000~- foo/99' >>history.proto
- ! echo foo/99 >arts/foo/99
- ! echo '<will3> 1000~100 foo/100' >>history.proto
- ! echo foo/100 >arts/foo/100
- echo '<two4> 100 bar/4' >>history.proto
- echo :bar/4: >arts/bar/4
- echo 'SuBjeCt: yes' >>arts/bar/4
- ***************
- *** 105,118 ****
- echo '<gone8> 100~20000 urp/8' >>history.proto
- echo urp/8 >arts/urp/8
- echo '<gone9> 100~- urp/9' >>history.proto
- ! echo '<wont10> 1000~20000 foo/10' >>history.proto
- ! echo :foo/10: >arts/foo/10
- ! echo 'Message-ID: <wont10>' >>arts/foo/10
- ! echo 'Expires: 20000' >>arts/foo/10
- ! echo 'Supersedes: <wont1>' >>arts/foo/10
- ! echo >>arts/foo/10
- ! echo '<will11> 100~20000 foo/11' >>history.proto
- ! echo foo/11 >arts/foo/11
- echo '<will12> 100~- mod.mod/12' >>history.proto
- echo mod/mod/12 >arts/mod/mod/12
- echo '<wont13> 2000 mod.mod/13' >>history.proto
- --- 126,139 ----
- echo '<gone8> 100~20000 urp/8' >>history.proto
- echo urp/8 >arts/urp/8
- echo '<gone9> 100~- urp/9' >>history.proto
- ! echo '<wont10> 1000~20000 foo/101' >>history.proto
- ! echo :foo/101: >arts/foo/101
- ! echo 'Message-ID: <wont10>' >>arts/foo/101
- ! echo 'Expires: 20000' >>arts/foo/101
- ! echo 'Supersedes: <wont1>' >>arts/foo/101
- ! echo >>arts/foo/101
- ! echo '<will11> 100~20000 foo/102' >>history.proto
- ! echo foo/102 >arts/foo/102
- echo '<will12> 100~- mod.mod/12' >>history.proto
- echo mod/mod/12 >arts/mod/mod/12
- echo '<wont13> 2000 mod.mod/13' >>history.proto
- ***************
- *** 133,145 ****
- echo '<gone98> 5000~- urp/98' >>history.proto
- echo '<gone98> 5000~-' >>history.after
- echo urp/98 >arts/urp/98
- ! echo '<multi99> 5000~- bar/99, bar.ugh/99 foo/99 urp/99' >>history.proto
- ! echo '<multi99> 5000~- bar.ugh/99 foo/99' >>history.after
- ! echo :foo/99:bar/99:bar/ugh/99:urp/99: >arts/foo/99
- ! echo 'Message-ID: <multi99>' >>arts/foo/99
- ! ln arts/foo/99 arts/bar/99
- ! ln arts/foo/99 arts/bar/ugh/99
- ! ln arts/foo/99 arts/urp/99
- cp history.proto history
-
- # regression test machinery
- --- 154,166 ----
- echo '<gone98> 5000~- urp/98' >>history.proto
- echo '<gone98> 5000~-' >>history.after
- echo urp/98 >arts/urp/98
- ! echo '<multi99> 5000~- bar/99, bar.ugh/99 foo/103 urp/99' >>history.proto
- ! echo '<multi99> 5000~- bar.ugh/99 foo/103' >>history.after
- ! echo :foo/103:bar/99:bar/ugh/99:urp/99: >arts/foo/103
- ! echo 'Message-ID: <multi99>' >>arts/foo/103
- ! ln arts/foo/103 arts/bar/99
- ! ln arts/foo/103 arts/bar/ugh/99
- ! ln arts/foo/103 arts/urp/99
- cp history.proto history
-
- # regression test machinery
- ***************
- *** 160,166 ****
-
- # the regression test proper
- r: $(PROGS) rclean rsetup dircheck tgood pgood
- ! $(RUN) -c explist.reg
- : "okay, it's sane"
- $(RUN) -t explist.reg >test.out 2>&1
- sed $(FIXPATHS) test.out | cmp - tgood
- --- 181,189 ----
-
- # the regression test proper
- r: $(PROGS) rclean rsetup dircheck tgood pgood
- ! $(RUN) -c explist.regw >test.out 2>test.stderr
- ! test ! -s test.out ;
- ! cmp wgood test.stderr || diff wgood test.stderr
- : "okay, it's sane"
- $(RUN) -t explist.reg >test.out 2>&1
- sed $(FIXPATHS) test.out | cmp - tgood
- ***************
- *** 178,198 ****
- egrep 'will|wont|gone|three' history.proto | ./dircheck -n arch2
- egrep three history.proto | ./dircheck arch3
- egrep 'will|wont|gone|two' history.proto | ./dircheck -n arch3
- ! test -f arts/foo/99 ;
- test -f arts/bar/ugh/99 ;
- test -f arch2/bar/99 ;
- test ! -f arts/urp/99 ;
- cmp history history.after
- : "that's it for expire, on to upact"
- ! $(HERE) ./upact '-#'
- ! cmp active.tmp active.after
- test ! -s active.errs ;
- mv active.tmp active
- ! $(HERE) ./upact
- ! cmp active active.after
- ! sed '/^foo /s/99/09/' active.after >active
- ! $(HERE) ./upact -b
- ! cmp active active.after
- : "success!"
-
- rclean:
- --- 201,221 ----
- egrep 'will|wont|gone|three' history.proto | ./dircheck -n arch2
- egrep three history.proto | ./dircheck arch3
- egrep 'will|wont|gone|two' history.proto | ./dircheck -n arch3
- ! test -f arts/foo/103 ;
- test -f arts/bar/ugh/99 ;
- test -f arch2/bar/99 ;
- test ! -f arts/urp/99 ;
- cmp history history.after
- : "that's it for expire, on to upact"
- ! $(HERE) ./upact $(UPACTOPT) '-#'
- ! cmp active.after active.tmp || diff active.after active.tmp
- test ! -s active.errs ;
- mv active.tmp active
- ! $(HERE) ./upact $(UPACTOPT)
- ! cmp active.after active || diff active.after active
- ! sed '/^foo /s/103/009/' active.after >active
- ! $(HERE) ./upact -b $(UPACTOPT)
- ! cmp active.after active || diff active.after active
- : "success!"
-
- rclean:
- ***************
- *** 199,205 ****
- rm -f junk history history.pag history.dir history.o active active.tmp
- rm -f history.n* *mon.out history.proto history.after test.out doit
- rm -f active.old active.new explist.reg lint active.after test.stderr
- ! rm -f active.errs
- rm -rf arts arch arch2 arch3 bin
-
- clean: rclean
- --- 222,228 ----
- rm -f junk history history.pag history.dir history.o active active.tmp
- rm -f history.n* *mon.out history.proto history.after test.out doit
- rm -f active.old active.new explist.reg lint active.after test.stderr
- ! rm -f active.errs explist.regw $(BARFS)
- rm -rf arts arch arch2 arch3 bin
-
- clean: rclean
-
-
-
- *** expire/tgood.mastercopy Sun Nov 27 20:05:10 1994
- --- expire/tgood Sat Oct 22 22:51:32 1994
- ***************
- *** 1,11 ****
- ! copy foo/2 P/arch ; remove foo/2
- ! copy foo/3 P/arch ; remove foo/3
- copy bar/4 P/arch2 ; remove bar/4
- copy bar/ugh/5 P/arch ; remove bar/ugh/5
- remove urp/6
- remove urp/8
- remove urp/9
- ! copy foo/11 P/arch ; remove foo/11
- copy mod/mod/12 P/arch ; remove mod/mod/12
- remove mod/unmod/14
- remove mod/unmod/15
- --- 1,11 ----
- ! copy foo/99 P/arch ; remove foo/99
- ! copy foo/100 P/arch ; remove foo/100
- copy bar/4 P/arch2 ; remove bar/4
- copy bar/ugh/5 P/arch ; remove bar/ugh/5
- remove urp/6
- remove urp/8
- remove urp/9
- ! copy foo/102 P/arch ; remove foo/102
- copy mod/mod/12 P/arch ; remove mod/mod/12
- remove mod/unmod/14
- remove mod/unmod/15
-
-
-
- *** expire/pgood.mastercopy Sun Nov 27 20:05:10 1994
- --- expire/pgood Sat Oct 22 22:52:23 1994
- ***************
- *** 1,8 ****
- ! foo/2 <will2> 1-Jan-1970 ???
- ! foo/3 <will3> 1-Jan-1970 ???
- bar/4 <two4> 1-Jan-1970 yes
- bar/ugh/5 <will5> 1-Jan-1970 ???
- ! foo/11 <will11> 1-Jan-1970 ???
- mod/mod/12 <will12> 1-Jan-1970 ???
- bletch/17 <three17> 1-Jan-1970 ???
- bar/99 <multi99> 1-Jan-1970 ???
- --- 1,8 ----
- ! foo/99 <will2> 1-Jan-1970 ???
- ! foo/100 <will3> 1-Jan-1970 ???
- bar/4 <two4> 1-Jan-1970 yes
- bar/ugh/5 <will5> 1-Jan-1970 ???
- ! foo/102 <will11> 1-Jan-1970 ???
- mod/mod/12 <will12> 1-Jan-1970 ???
- bletch/17 <three17> 1-Jan-1970 ???
- bar/99 <multi99> 1-Jan-1970 ???
-
-
-
- *** expire/doexpire.mastercopy Sun Nov 27 20:05:11 1994
- --- expire/doexpire Fri Nov 11 11:58:02 1994
- ***************
- *** 100,106 ****
-
- if test -s /tmp/doex$$
- then
- ! report 'possible expire problems' </tmp/doex$$
- else
- status=0
- fi
- --- 100,106 ----
-
- if test -s /tmp/doex$$
- then
- ! report -u 'possible expire problems' </tmp/doex$$
- else
- status=0
- fi
-
-
-
- *** expire/upact.mastercopy Sun Nov 27 20:05:11 1994
- --- expire/upact Thu Nov 10 10:10:29 1994
- ***************
- *** 4,10 ****
- # =()<. ${NEWSCONFIG-@<NEWSCONFIG>@}>()=
- . ${NEWSCONFIG-/etc/news/bin/config}
-
- ! PATH=$NEWSCTL/bin:$NEWSBIN:$NEWSPATH ; export PATH
- umask $NEWSUMASK
-
- maxlen=200 # max length for shell cmd; 200 is pretty safe
- --- 4,10 ----
- # =()<. ${NEWSCONFIG-@<NEWSCONFIG>@}>()=
- . ${NEWSCONFIG-/etc/news/bin/config}
-
- ! PATH=$NEWSCTL/bin:$NEWSBIN/maint:$NEWSBIN:$NEWSPATH ; export PATH
- umask $NEWSUMASK
-
- maxlen=200 # max length for shell cmd; 200 is pretty safe
- ***************
- *** 29,43 ****
- cd $NEWSCTL
-
- # check out the active file
- ! nf=`sed 1q active | awk '{print NF}'`
- ! if test $nf -ne 4
- then
- ! echo "$0: active file has other than 4 fields" >&2
- exit 1
- fi
- if test " `awk '{print $1}' active | sort | uniq -d`" != " "
- then
- ! echo "$0: duplicate entries in active file, unable to run" >&2
- exit 1
- fi
-
- --- 29,45 ----
- cd $NEWSCTL
-
- # check out the active file
- ! checkactive -q >active.eek
- ! if test -s active.eek
- then
- ! echo "$0: problems in active file -- aborting" >&2
- ! cat active.eek >&2
- ! rm -f active.eek
- exit 1
- fi
- if test " `awk '{print $1}' active | sort | uniq -d`" != " "
- then
- ! echo "$0: duplicate newsgroups in active file, unable to run" >&2
- exit 1
- fi
-
- ***************
- *** 81,90 ****
- dir = ""
- }
- $0 ~ /^[0-9]+$/ {
- ! if ($0 < lowest)
- ! lowest = $0
- ! if ($0 > highest)
- ! highest = $0
- next
- }
- $0 ~ /\/\.:$/ {
- --- 83,93 ----
- dir = ""
- }
- $0 ~ /^[0-9]+$/ {
- ! # some old awks do not think $0 is numeric, so use $1
- ! if ($1 < lowest)
- ! lowest = $1
- ! if ($1 > highest)
- ! highest = $1
- next
- }
- $0 ~ /\/\.:$/ {
- ***************
- *** 135,144 ****
- }' >active.tmp
-
- # check that everything looks okay
- ! awk '$2 ~ /e/ || $3 ~ /e/' active.tmp >active.eek
- if test -s active.eek
- then
- ! echo "$0: setting awk OFMT doesn't work -- aborting" >&2
- exit # with status=1
- fi
- if test `wc -l <active.tmp` -lt `wc -l <active`
- --- 138,148 ----
- }' >active.tmp
-
- # check that everything looks okay
- ! checkactive -q active.tmp >active.eek
- if test -s active.eek
- then
- ! echo "$0: errors in active.tmp -- aborting" >&2
- ! cat active.eek >&2
- exit # with status=1
- fi
- if test `wc -l <active.tmp` -lt `wc -l <active`
-
-
-
- *** expire/wgood.mastercopy Sun Nov 27 20:05:12 1994
- --- expire/wgood Tue Oct 18 13:47:17 1994
- ***************
- *** 0 ****
- --- 1 ----
- + ./expire: warning: line 11 of control file controls no active newsgroups
-
-
-
- *** explode/makefile.mastercopy Sun Nov 27 20:05:12 1994
- --- explode/makefile Sun Nov 6 21:32:16 1994
- ***************
- *** 35,41 ****
- echo "exit 0" >bin/unlock
- echo "echo 5" >bin/sizeof
- echo "echo 1000" >bin/spacefor
- ! echo "( echo \"$$*\" ; echo ::: ; cat ) >&2" >bin/report
- cp $(BINS) bin
- $(MX) bin/*
- echo hostb >whoami
- --- 35,42 ----
- echo "exit 0" >bin/unlock
- echo "echo 5" >bin/sizeof
- echo "echo 1000" >bin/spacefor
- ! echo "( echo \"\$$*\" ; echo ::: ; cat ) >&2" >bin/report
- ! echo "echo 12345" >bin/now
- cp $(BINS) bin
- $(MX) bin/*
- echo hostb >whoami
- ***************
- *** 43,48 ****
- --- 44,59 ----
- cp om.0 arts/out.master/0
- mkdir arts/out.going
- mkdir arts/out.going/foo arts/out.going/bar arts/out.going/baz
- + $(HERE) ./doexplode >stdout 2>stderr
- + test ! -s stdout ;
- + cmp om.err stderr || diff om.err stderr
- + test " `ls arts/out.master`" = " 0.12345" ;
- + cmp om.0 arts/out.master/0.12345 || diff om.0 arts/out.master/0.12345
- + cmp og.foo arts/out.going/foo/togo || diff og.foo arts/out.going/foo/togo
- + cmp og.bar arts/out.going/bar/togo || diff og.bar arts/out.going/bar/togo
- + cmp og.baz arts/out.going/baz/togo || diff og.baz arts/out.going/baz/togo
- + rm -f arts/out.master/0.12345 arts/out.going/*/togo stdout stderr
- + egrep -v nope om.0 >arts/out.master/0
- $(HERE) ./doexplode >stdout 2>stderr
- test ! -s stdout ;
- test ! -s stderr ;
-
-
-
- *** explode/trbatch.c.mastercopy Sun Nov 27 20:05:13 1994
- --- explode/trbatch.c Mon Nov 7 00:01:28 1994
- ***************
- *** 40,46 ****
- bf = bfincache(name);
- if (bf->bf_str == NULL) {
- bf->bf_str = fopenclex(name, "a"); /* silent try */
- ! if (bf->bf_str == NULL) {
- if (bfrclose() != ST_OKAY)
- return NULL;
- errno = 0;
- --- 40,47 ----
- bf = bfincache(name);
- if (bf->bf_str == NULL) {
- bf->bf_str = fopenclex(name, "a"); /* silent try */
- ! if (bf->bf_str == NULL && errno == EMFILE) {
- ! /* try to free up a descriptor */
- if (bfrclose() != ST_OKAY)
- return NULL;
- errno = 0;
- ***************
- *** 47,53 ****
- warning(
- "had to close a descriptor to reuse it; this should not happen!", "");
- /* bad input? canthappen? */
- ! /* retry, may bitch */
- bf->bf_str = fopenwclex(name, "a");
- }
- if (bf->bf_str != NULL)
- --- 48,56 ----
- warning(
- "had to close a descriptor to reuse it; this should not happen!", "");
- /* bad input? canthappen? */
- ! }
- ! if (bf->bf_str == NULL) {
- ! /* retry, noisily this time */
- bf->bf_str = fopenwclex(name, "a");
- }
- if (bf->bf_str != NULL)
-
-
-
- *** explode/doexplode.mastercopy Sun Nov 27 20:05:13 1994
- --- explode/doexplode Sun Nov 6 19:18:26 1994
- ***************
- *** 33,39 ****
- report -u "explode unable to rename file"
- exit
- fi
- ! if explode out.master/$work 2>/tmp/ex$$
- then
- rm -f out.master/$work
- else
- --- 33,39 ----
- report -u "explode unable to rename file"
- exit
- fi
- ! if explode out.master/$work 2>/tmp/ex$$ && test ! -s /tmp/ex$$
- then
- rm -f out.master/$work
- else
-
-
-
- *** explode/om.0.mastercopy Sun Nov 27 20:05:14 1994
- --- explode/om.0 Sun Nov 6 21:21:18 1994
- ***************
- *** 13,18 ****
- --- 13,19 ----
- f out.going/foo/togo
- f out.going/bar/togo
- f out.going/baz/togo
- + f out.going/nope/togo
- <#5@host> control/1 192
- f out.going/foo/togo
- f out.going/bar/togo
-
-
-
- *** explode/om.err.mastercopy Sun Nov 27 20:05:14 1994
- --- explode/om.err Sun Nov 6 23:55:59 1994
- ***************
- *** 0 ****
- --- 1,3 ----
- + -u explode failed on out.master/0.12345
- + :::
- + explode: can't open `out.going/nope/togo' (No such file or directory)
-
-
-
- *** input/makefile.mastercopy Sun Nov 27 20:05:15 1994
- --- input/makefile Sun Oct 23 00:58:44 1994
- ***************
- *** 8,18 ****
- DEST=$(NEWSBIN)/input
- DBIN=$(NEWSBIN)/decompressors
- DECS=c7decode bdecode gunzip
-
- BATCH=../batch
-
- all: $(ALL)
- ! $(MX) $(PROGS)
-
- install: $(PROGS)
- $(MKDIR) $(DEST) $(DBIN)
- --- 8,19 ----
- DEST=$(NEWSBIN)/input
- DBIN=$(NEWSBIN)/decompressors
- DECS=c7decode bdecode gunzip
- + PGMS=$(PROGS) $(DECS)
-
- BATCH=../batch
-
- all: $(ALL)
- ! $(MX) $(PGMS)
-
- install: $(PROGS)
- $(MKDIR) $(DEST) $(DBIN)
- ***************
- *** 104,110 ****
- echo 'here is a phony third batch' >>$@
-
- rsetup: $(ALL) rclean
- ! $(MX) $(PROGS)
- mkdir bin
- echo "shift;shift;shift;cat \$$* >>`pwd`/tmp.1" >bin/relaynews
- echo "echo 10" >bin/spacefor
- --- 105,111 ----
- echo 'here is a phony third batch' >>$@
-
- rsetup: $(ALL) rclean
- ! $(MX) $(PGMS)
- mkdir bin
- echo "shift;shift;shift;cat \$$* >>`pwd`/tmp.1" >bin/relaynews
- echo "echo 10" >bin/spacefor
-
-
-
- *** libcnews/mkinperm.c.mastercopy Sun Nov 27 20:05:15 1994
- --- libcnews/mkinperm.c Tue Nov 8 22:33:43 1994
- ***************
- *** 22,29 ****
- #define MAXTRIES 100 /* limit on attempts to make links */
- #endif
-
- - #define JAN1991 (time_t)662706000
- -
- int mkinpdebug = 0;
- char *progname;
-
- --- 22,27 ----
- ***************
- *** 44,50 ****
- (void) strcpy(name, p);
- p = name + strlen(name);
-
- ! now = time((time_t *)NULL) - JAN1991; /* reduce range */
- for (ntries = 0; ; ntries++) {
- (void) sprintf(p, "%s%ld%c%s", grade, now, uniq, class);
- if (mkinpdebug)
- --- 42,48 ----
- (void) strcpy(name, p);
- p = name + strlen(name);
-
- ! now = time((time_t *)NULL);
- for (ntries = 0; ; ntries++) {
- (void) sprintf(p, "%s%ld%c%s", grade, now, uniq, class);
- if (mkinpdebug)
- ***************
- *** 63,69 ****
- uniq = 'A';
- else if (uniq == 'Z'+1) {
- (void) sleep(2);
- ! now = time((time_t *)NULL) - JAN1991; /* reduce range */
- uniq = '0';
- }
- if (mkinpdebug)
- --- 61,67 ----
- uniq = 'A';
- else if (uniq == 'Z'+1) {
- (void) sleep(2);
- ! now = time((time_t *)NULL);
- uniq = '0';
- }
- if (mkinpdebug)
-
-
-
- *** libdbz/dbz.c.mastercopy Sun Nov 27 20:05:17 1994
- --- libdbz/dbz.c Tue Nov 15 12:49:25 1994
- ***************
- *** 518,524 ****
- stop <<= 1;
-
- /* try odd numbers up to stop */
- ! for (div = *--ip; div < stop; div += 2)
- if (x%div == 0)
- return(0);
-
- --- 518,524 ----
- stop <<= 1;
-
- /* try odd numbers up to stop */
- ! for (div = *--ip + 2; div < stop; div += 2)
- if (x%div == 0)
- return(0);
-
-
-
-
- *** libdbz/makefile.mastercopy Sun Nov 27 20:05:18 1994
- --- libdbz/makefile Tue Oct 25 15:47:40 1994
- ***************
- *** 42,58 ****
- rdbz.o: dbz.c
- cp dbz.c rdbz.c
- $(CC) $(CFLAGS) $(DEBUG) -DDEFSIZE=$(RSIZE) -c rdbz.c
- ! rm rdbz.c
-
- rdbzmain.o: dbzmain.c
- cp dbzmain.c rdbzmain.c
- $(CC) $(CFLAGS) $(RFC) -c rdbzmain.c
- ! rm rdbzmain.c
-
- tdbz.o: dbz.c
- cp dbz.c tdbz.c
- $(CC) $(CFLAGS) -DDEFSIZE=$(TSIZE) -c tdbz.c
- ! rm tdbz.c
-
- tdbz: dbzmain.o tdbz.o dbzdbm.o
- $(CC) $(LDFLAGS) dbzmain.o tdbz.o dbzdbm.o $(LIBS) -o $@
- --- 42,58 ----
- rdbz.o: dbz.c
- cp dbz.c rdbz.c
- $(CC) $(CFLAGS) $(DEBUG) -DDEFSIZE=$(RSIZE) -c rdbz.c
- ! rm -f rdbz.c
-
- rdbzmain.o: dbzmain.c
- cp dbzmain.c rdbzmain.c
- $(CC) $(CFLAGS) $(RFC) -c rdbzmain.c
- ! rm -f rdbzmain.c
-
- tdbz.o: dbz.c
- cp dbz.c tdbz.c
- $(CC) $(CFLAGS) -DDEFSIZE=$(TSIZE) -c tdbz.c
- ! rm -f tdbz.c
-
- tdbz: dbzmain.o tdbz.o dbzdbm.o
- $(CC) $(LDFLAGS) dbzmain.o tdbz.o dbzdbm.o $(LIBS) -o $@
- ***************
- *** 80,86 ****
- : crude check of synthetic history file
- ( sed 25q $(RHIST) ; tail -25 $(RHIST) ) >histjunk
- cmp histjunk firstlast25
- ! rm histjunk
- : basic tests, exercising as many options as possible
- cp $(RHIST) dbase
- mkdir xx
- --- 80,86 ----
- : crude check of synthetic history file
- ( sed 25q $(RHIST) ; tail -25 $(RHIST) ) >histjunk
- cmp histjunk firstlast25
- ! rm -f histjunk
- : basic tests, exercising as many options as possible
- cp $(RHIST) dbase
- mkdir xx
- ***************
- *** 159,165 ****
-
- rclean:
- rm -f dbase dbase[23] dbase.* dbase[23].* fake fake.o random.o
- ! rm -f rdbz rdbz.o rdbzmain.o $(RHIST) $(R2HIST) byteflip byteflip.o
- rm -f histjunk core
- test ! -d xx || rmdir xx
-
- --- 159,165 ----
-
- rclean:
- rm -f dbase dbase[23] dbase.* dbase[23].* fake fake.o random.o
- ! rm -f rdbz rdbz.o rdbzmain.? $(RHIST) $(R2HIST) byteflip byteflip.o
- rm -f histjunk core
- test ! -d xx || rmdir xx
-
-
-
-
-